import fetch from '../../../common/httpRequest'
let globalData = getApp().globalData;
Page({
  data: {
    list: [],
    listOnline: [{
        name: '字体图标',
        desc: 'icon：常用字体图标，支持基本样式设置，支持nvue。',
        page: '/pages/extend/icon/icon',
        like: false
      },
      {
        name: 'Button按钮',
        desc: 'Button按钮:可自定义宽高，设置字体大小，阴影，圆角，镂空等。',
        page: '/pages/extend/button/button',
        like: false
      },
      {
        name: 'Tag标签',
        desc: 'Tag标签：可自定义大小，设置字体大小，圆角，镂空等。',
        page: '/pages/extend/tag/tag',
        like: false
      },
      {
        name: 'Badge 徽章',
        desc: 'Badge：可设置成圆点或数字角标，支持缩放以及定位设置。',
        page: '/pages/extend/badge/badge',
        like: false
      },
      {
        name: 'List 列表',
        desc: 'List：可设置点击效果，可设置是否显示箭头。',
        page: '/pages/extend/list/list',
        like: false
      },
      {
        name: 'Card 卡片',
        desc: 'Card 卡片：根据需要设置内容，可设置是否通栏。',
        page: '/pages/extend/card/card',
        like: false
      },
      {
        name: 'Grid 宫格',
        desc: 'Grid 宫格：可设置2~5列，以及基本样式设置。',
        page: '/pages/extend/grid/grid',
        like: false
      },
      {
        name: 'Loading 加载',
        desc: '加载效果以及加载完成或无数据时的效果。',
        page: '/pages/extend/loading/loading',
        like: false
      },
      {
        name: 'Footer 页脚',
        desc: 'Footer 页脚：支持基本样式设置，可设置是否固定在底部。',
        page: '/pages/extend/footer/footer',
        like: false
      },
      {
        name: '消息提示',
        desc: '包括顶部提示，居中提示，底部提示。可切换提示框背景颜色。',
        page: '/pages/extend/msgTips/msgTips',
        like: false
      },
      {
        name: '吸顶容器',
        desc: 'sticky吸顶容器，支持设置吸顶容器距离顶部距离，支持异步加载。',
        page: '/pages/extend/sticky/sticky',
        like: false
      },
      {
        name: '数字键盘',
        desc: '例子包括6位数和4位数输入，长度动态传入，根据实际情况使用。',
        page: '/pages/extend/keyboard/keyboard',
        like: false
      },
      {
        name: '时间轴',
        desc: 'time-axis时间轴，样式可自定义，例子实现了物流时间轴，在【thor=>日志】中也有使用。',
        page: '/pages/extend/timeaxis/timeaxis',
        like: false
      },
      {
        name: '滚动消息',
        desc: '滚动消息：包括顶部通告栏，滚动新闻，以及搜索框中出现的热搜产品。',
        page: '/pages/extend/rollingNews/rollingNews',
        like: false
      },
      {
        name: '弹层下拉选择',
        desc: '包含顶部下拉选择列表、输入框下拉选择以及底部分享弹层。',
        page: '/pages/extend/popup/popup',
        like: false
      },
      {
        name: 'ActionSheet',
        desc: '操作菜单:可加入提示信息，可单独设置字体样式。',
        page: '/pages/extend/actionsheet/actionsheet',
        like: false
      },
      {
        name: 'NumberBox',
        desc: '数字框:可设置步长，支持浮点数，支持调整样式(可单独设置)。',
        page: '/pages/extend/numberbox/numberbox',
        like: false
      },
      {
        name: 'Rate评分',
        desc: 'Rate评分:可设置大小颜色，支持半星，支持手势touch选择。',
        page: '/pages/extend/rate/rate',
        like: false
      },
      {
        name: 'Modal弹框',
        desc: 'Modal弹框:可设置按钮数，按钮样式，提示文字样式等，还可自定义弹框内容。',
        page: '/pages/extend/modal/modal',
        like: false
      },
      {
        name: '倒计时',
        desc: '倒计时:时分秒倒计时，支持设置大小，颜色等。',
        page: '/pages/extend/countdown/countdown',
        like: false
      },
      {
        name: '分隔符',
        desc: 'Divider分隔符：可设置占据高度，线条宽度，颜色等。',
        page: '/pages/extend/divider/divider',
        like: false
      },
      {
        name: '卡片轮播',
        desc: '卡片轮播：包含顶部轮播，秒杀商品轮播等。',
        page: '/pages/extend/carousel/carousel',
        like: false
      },
      {
        name: '回到顶部',
        desc: '回到顶部：可设置bottom，right值，可设置距离顶部多少距离显示。',
        page: '/pages/extend/goTop/goTop',
        like: false
      },
      {
        name: 'alert弹框',
        desc: 'alert弹框：可设置提示文本，按钮文本及样式。',
        page: '/pages/extend/alert/alert',
        like: false
      },
      {
        name: 'No Data',
        desc: '无数据提示：默认居中显示，可设置。带操作按钮，可隐藏。',
        page: '/pages/extend/nodata/nodata',
        like: false
      },
      {
        name: 'toast提示',
        desc: 'toast提示：带icon提示，可隐藏，居中显示。',
        page: '/pages/extend/toast/toast',
        like: false
      },
      {
        name: '表单验证',
        desc: 'Form Validation：常用的表单验证,只需配置验证项以及相关提示。',
        page: '/pages/extend/formValidation/formValidation',
        like: false
      },
      {
        name: '日期时间选择',
        desc: 'picker-view扩展，日期时间选择器，可设置默认显示，可根据需要调整选择的类型。',
        page: '/pages/extend/picker-dateTime/picker-dateTime',
        like: false
      },
      {
        name: '复制文本',
        desc: 'clipboard，复制到剪贴板，兼容H5，APP和小程序依然使用平台自带api。',
        page: '/pages/extend/clipboard/clipboard',
        like: false
      },
      {
        name: '悬浮按钮',
        desc: 'fab，拓展出来的按钮不应多于6个，否则违反了作为悬浮按钮的快速、高效的原则。',
        page: '/pages/extend/fab/fab',
        like: false
      },
      {
        name: 'Tabbar',
        desc: 'Tabbar，类似uni-app原生tabbar组件，可用于自定义tabbar。',
        page: '/pages/extend/tabbar/tabbar',
        like: false
      },
      {
        name: 'tabs标签页',
        desc: 'tabs标签页，支持设置字体颜色、字体大小、背景色、高度等。',
        page: '/pages/extend/tabs/tabs',
        like: false
      },
      {
        name: '折叠面板',
        desc: 'collapse折叠面板，用来折叠/显示过长的内容或者是列表。内容及样式自定义。',
        page: '/pages/extend/collapse/collapse',
        like: false
      },
      {
        name: '图片上传',
        desc: 'upload，图片上传，需要根据上传接口实际返回数据进行适当调整 。',
        page: '/pages/extend/upload/upload',
        like: false
      },
      {
        name: '骨架屏',
        desc: '数据请求时常见到锁屏的loading动画，而现在越来越多的产品倾向于使用Skeleton Screen替代 。',
        page: '/pages/extend/skeleton/skeleton',
        like: false
      },
      {
        name: '日历',
        desc: 'calendar日历： 可选择单个日期，可选择日期区间(可跨年跨月)，支持设置日期可选范围，支持设置状态。',
        page: '/pages/extend/calendar/calendar',
        like: false
      },
      {
        name: '步骤条',
        desc: 'Steps步骤条： 支持横向与纵向以及基本样式设置。',
        page: '/pages/extend/steps/steps',
        like: false
      },
      {
        name: 'drawer 抽屉',
        desc: 'drawer： 左右抽屉，内容超过一屏时建议使用scroll-view。',
        page: '/pages/extend/drawer/drawer',
        like: false
      },
      {
        name: '滑动菜单',
        desc: 'swipeAction滑动菜单：actions长度为0时，插槽可直接自定义操作菜单按钮。',
        page: '/pages/extend/swipeAction/swipeAction',
        like: false
      },
      {
        name: '底部导航菜单',
        desc: 'Bottom Navigation：支持二级菜单，支持暗黑模式，具体使用参考文档。',
        page: '/pages/extend/bottom-navigation/bottom-navigation',
        like: false
      },
      {
        name: '级联选择',
        desc: 'Cascade Selection：支持一次性传入所有数据，支持分级请求返回数据，支持N级，直至没有下一级数据。',
        page: '/pages/extend/selection/selection'
      },
      {
        name: '圆形进度条',
        desc: 'Circular Progress：圆形进度条，可设置大小颜色等基本样式，可显示进度或自定义显示内容。',
        page: '/pages/extend/round-progress/round-progress',
        like: false
      },
      {
        name: '图片裁剪',
        desc: 'Image Cropper：图片裁剪，组件提供了默认裁剪，可自定义操作栏。',
        page: '/pages/extend/cropper/cropper',
        like: false
      },
      {
        name: 'NavBar',
        desc: 'NavBar自定义导航栏，支持自定义NavBar内容，支持渐变，支持沉浸式。',
        page: '/pages/extend/navigation-bar/navigation-bar',
        like: false
      },
      {
        name: '气泡弹框',
        desc: 'Bubble Popup：最常见的右上角弹出菜单，可以做聊天对话框使用。可设置不同方向。',
        page: '/pages/extend/bubble/bubble',
        like: false
      },
      {
        name: '图片组合',
        desc: 'Image Group图片组合，可设置图片宽高，圆角，偏移距离等，可设置排列方向。',
        page: '/pages/extend/image/image',
        like: false
      },
      {
        name: '颜色分析器',
        desc: 'color analysis，图片颜色分析，传入图片获取图片主颜色。',
        page: '/pages/extend/color-analysis/color-analysis',
        like: false
      },
      {
        name: '中文转拼音',
        desc: 'chinese to pinyin，获取拼音首字母等，使用场景：如获取通讯录按A-Z排序。',
        page: '/pages/extend/zhToPinYin/zhToPinYin',
        like: false
      },
      {
        name: '网络请求',
        desc: 'Network request，发起网络请求，简单的封装与使用 。',
        page: '/pages/extend/request/request',
        like: false
      },
      {
        name: '富文本解析',
        desc: 'wxParse，小程序下富文本解析，支持markdown和html解析。',
        page: '/pages/extend/richText/richText',
        like: false
      },
      {
        name: 'ThorUI示例',
        desc: 'ThorUI示例项目中组件内容只对会员开放，ThorUI示例是该组件库的扩展项目。',
        page: 'thorui',
        like: false
      },
      {
        name: '抽奖转盘',
        desc: '抽奖转盘，例子使用随机值进行抽奖，可以指定中奖奖项。',
        page: '/pages/extend/luckdraw/luckdraw',
        like: false
      },
      {
        name: '新闻模板',
        desc: '新闻模板包含：新闻列表，新闻详情，评论等。',
        page: '/pages/template/news/index/index',
        like: false
      },
      {
        name: '聊天模板',
        desc: '聊天模板包含：消息列表，好友列表，聊天界面等。',
        page: '/pages/template/chat/msgList/msgList',
        like: false
      },
      {
        name: '商城模板',
        desc: '商城模板包含：商城首页，商城列表，商城详情，购物车等。',
        page: '/pages/template/mall/mall/mall',
        like: false
      },
      {
        name: '模板',
        desc: '计划前三套模板：新闻，聊天，商城。敬请期待！',
        page: '/pages/extend/template/template',
        like: false
      }
    ]
  },
  onLoad: function(options) {
    if (!wx.getStorageSync("thorui_" + globalData.version)) {
      wx.setStorageSync("thorui_" + globalData.version, "1")
      wx.removeTabBarBadge({
        index: 1
      })
    }

    let list = [...this.data.listOnline]
    this.setData({
      list: list.splice(0, 52)
    })
    if (!getApp().globalData.isOnline){
      fetch.request("/Home/GetStatus", "GET", {}, false, true, true).then((res) => {
        if (res.code == 100 && res.data == 1) {
          getApp().globalData.isOnline = true
          this.setData({
            list: this.data.listOnline
          })
        }
      }).catch((res) => {

      })
    }else{
      this.setData({
        list: this.data.listOnline
      })
    }
  },
  detail: function (e) {
    const page = e.currentTarget.id;
    if(page=='thorui'){
      wx.navigateToMiniProgram({
        appId: 'wxd3c1da92cb8fcf40'
      });
    }else{
      wx.navigateTo({
        url: page
      })
    }
  },
  like: function (e) {
    let index = e.currentTarget.id;
    let like = `list[${index}].like`;
    this.setData({
      [like]: !this.data.list[index].like
    })
  },
  onShareAppMessage: function (e) {
    let index = e.target.dataset.id;
    let title = this.data.list[index].name;
    return {
      title: title
    }
  }

})